;M16
[2CD40C32AA00]
PROG_CQ_IS_WL_ADD = 0
PROG_CQ_FIRST = 0x80, 0x80, 0x80, 0x80
PROG_CQ_NO_FINAL_PLANE = 0x11
PROG_CQ_FINAL_PLANE =0x10

PROG_CQ_PROG1_PLANE0_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_LSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG1_PLANE0_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_CSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG1_PLANE0_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_MSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG1_PLANE0_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0


PROG_CQ_PROG1_PLANE0_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG1_PLANE0_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_EXTRA_CMDADDR_MODE =0
PROG_CACHE_CMD = 0x15

ERASE_CQ_TO_SLC_MODE = 0xDA
ERASE_CQ_FIRST = 0x60
ERASE_CQ_NO_FINAL_PLANE = 0xD1
ERASE_CQ_FINAL_PLANE = 0xD0

READ_CQ_IS_WL_ADDR = 0
READ_CQ_TO_SLC_MODE = 0xDA
READ_CQ_FIRST = 0x00
READ_CQ_NO_FINAL_PLANE = 0x32
READ_CQ_FINAL_PLANE = 0x30

READ_STATUS_CQ = 0x70
READ_STATUS_CQ_ENHANCE = 0x78

TWO_PLANE_DATAOUT_CQ_READ = 0x00
TWO_PLANE_DATAOUT_CQ_READ_COMFIRM = 0x05
TWO_PLANE_DATAOUT_CQ_RANDOM = 0xE0
;SDR: 0, DDR: 2
SET_FEATURE_CQ_CHANGE_FLASH_MODE = 0x02
SET_FEATURE_CQ = 0xEF
SET_FEATURE_ADDR = 0x01
SET_FEATURE_PX_DATA = 0x27, 0x00, 0x00, 0x00

MODE_SWITCH_SLC_MODE_FLAG = 1
MODE_SWITCH_TO_SLC_MODE_CMD = 0xDA
MODE_SWITCH_SLC_DISABLE_FLG = 1
MODE_SWITCH_SLC_DISABLE_CMD = 0xDF


;M16
[89D40C32AA00]
PROG_CQ_IS_WL_ADD = 0
PROG_CQ_FIRST = 0x80, 0x80, 0x80, 0x80
PROG_CQ_NO_FINAL_PLANE = 0x11
PROG_CQ_FINAL_PLANE =0x10

PROG_CQ_PROG1_PLANE0_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE2_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE2_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE3_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE3_LSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG1_PLANE0_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE2_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE2_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE3_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE3_CSB_PAGE_AFT_DATA = 0x10


PROG_CQ_PROG1_PLANE0_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_MSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG1_PLANE0_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG1_PLANE0_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG1_PLANE0_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_EXTRA_CMDADDR_MODE =0
PROG_CACHE_CMD = 0x15

ERASE_CQ_TO_SLC_MODE = 0xDA
ERASE_CQ_FIRST = 0x60
ERASE_CQ_NO_FINAL_PLANE = 0xD1
ERASE_CQ_FINAL_PLANE = 0xD0

READ_CQ_IS_WL_ADDR = 0
READ_CQ_TO_SLC_MODE = 0xDA
READ_CQ_FIRST = 0x00
READ_CQ_NO_FINAL_PLANE = 0x32
READ_CQ_FINAL_PLANE = 0x30

READ_STATUS_CQ = 0x70
READ_STATUS_CQ_ENHANCE = 0x78

TWO_PLANE_DATAOUT_CQ_READ = 0x00
TWO_PLANE_DATAOUT_CQ_READ_COMFIRM = 0x05
TWO_PLANE_DATAOUT_CQ_RANDOM = 0xE0
;SDR: 0, DDR: 2
SET_FEATURE_CQ_CHANGE_FLASH_MODE = 0x02
SET_FEATURE_CQ = 0xEF
SET_FEATURE_ADDR = 0x01
SET_FEATURE_PX_DATA = 0x20, 0x00, 0x00, 0x00

MODE_SWITCH_SLC_MODE_FLAG = 1
MODE_SWITCH_TO_SLC_MODE_CMD = 0xDA
MODE_SWITCH_SLC_DISABLE_FLG = 1
MODE_SWITCH_SLC_DISABLE_CMD = 0xDF

;N28
[2CA36032C600]
PROG_CQ_IS_WL_ADD = 0
PROG_CQ_FIRST = 0x80, 0x80, 0x80, 0x80
PROG_CQ_NO_FINAL_PLANE = 0x11
PROG_CQ_FINAL_PLANE =0x10

PROG_CQ_PROG1_PLANE0_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE2_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE2_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE3_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE3_LSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG1_PLANE0_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE2_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE2_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE3_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE3_CSB_PAGE_AFT_DATA = 0x10


PROG_CQ_PROG1_PLANE0_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE0_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE1_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE1_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE2_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE2_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG1_PLANE3_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG1_PLANE3_MSB_PAGE_AFT_DATA = 0x10


PROG_CQ_PROG1_PLANE0_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE2_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE3_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG1_PLANE0_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE2_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE3_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG1_PLANE0_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE1_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE2_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG1_PLANE3_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG2_PLANE0_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE0_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE1_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE1_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE2_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE2_LSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE3_LSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE3_LSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG2_PLANE0_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE0_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE1_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE1_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE2_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE2_CSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE3_CSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE3_CSB_PAGE_AFT_DATA = 0x10


PROG_CQ_PROG2_PLANE0_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE0_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE1_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE1_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE2_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE2_MSB_PAGE_AFT_DATA = 0x11
PROG_CQ_PROG2_PLANE3_MSB_PAGE_PRE_ADDR = 0x80
PROG_CQ_PROG2_PLANE3_MSB_PAGE_AFT_DATA = 0x10

PROG_CQ_PROG2_PLANE0_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE1_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE2_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE3_LSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG2_PLANE0_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE1_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE2_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE3_CSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0

PROG_CQ_PROG2_PLANE0_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE1_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE2_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0
PROG_CQ_PROG2_PLANE3_MSB_PAGE_CMDADDR_ARRAY = 0,0,0,0,0,0,0,0


PROG_CQ_EXTRA_CMDADDR_MODE =0
PROG_CACHE_CMD = 0x15

ERASE_CQ_TO_SLC_MODE = 0xDA
ERASE_CQ_FIRST = 0x60
ERASE_CQ_NO_FINAL_PLANE = 0xD1
ERASE_CQ_FINAL_PLANE = 0xD0

READ_CQ_IS_WL_ADDR = 0
READ_CQ_TO_SLC_MODE = 0xDA
READ_CQ_FIRST = 0x00
READ_CQ_NO_FINAL_PLANE = 0x32
READ_CQ_FINAL_PLANE = 0x30

READ_STATUS_CQ = 0x70
READ_STATUS_CQ_ENHANCE = 0x78

TWO_PLANE_DATAOUT_CQ_READ = 0x00
TWO_PLANE_DATAOUT_CQ_READ_COMFIRM = 0x05
TWO_PLANE_DATAOUT_CQ_RANDOM = 0xE0
;SDR: 0, DDR: 2
SET_FEATURE_CQ_CHANGE_FLASH_MODE = 0x02
SET_FEATURE_CQ = 0xEF
SET_FEATURE_ADDR = 0x01
SET_FEATURE_PX_DATA = 0x27, 0x00, 0x00, 0x00

MODE_SWITCH_SLC_MODE_FLAG = 1
MODE_SWITCH_TO_SLC_MODE_CMD = 0xDA
MODE_SWITCH_SLC_DISABLE_FLG = 1
MODE_SWITCH_SLC_DISABLE_CMD = 0xDF